Current file encryption systems provide a technique for a general-purpose computer to encrypt or decrypt computer-base files. Current encryption and decryption techniques typically rely on lengthy strings (e.g., 1024 bits, 2048 bits, 4096 bits, or more) to provide for secure encryption or decryption of files. Computer performance suffers due to the amount of data in the messages as well as the size of the encryption keys themselves.
Asymmetric file encryption systems use a different key to encrypt a file from the key used to decrypt the encrypted file. Many current file encryption systems rely on asymmetric encryption, such as those that rely on public key/private key pairs. An example of an encryption algorithm that utilizes public key/private key pairs is the RSA (Rivest, Shamir, and Adleman) algorithm. Asymmetric keys by their nature, are very expensive in terms of CPU time largely since asymmetric keys are typically quite lengthy.
Symmetric file systems use an identical key to encrypt a file as the key used to decrypt the encrypted file. Certain file encryption systems utilize a cryptographic process or random number generator to derive a FEK is used to encrypt the file. Symmetric cryptography functions up to five orders of magnitude faster than asymmetric cryptography on files. Even with a very fast key device or software that encrypts/decrypts using the asymmetric key, any such file encryption system still has to overcome the fact that asymmetric keys generally operate at orders of magnitude slower than symmetric keys. When using the file encryption key, each time a file is being authenticated, the file encryption key has to be decrypted by the asymmetric key which is time consuming.
Key devices such as smartcards have been used for user authentication within the operating system. Smartcards typically rely on asymmetric keys and have very limited data throughput, both of which detract from their use in encrypting or decrypting files. As such, the time required for the smart cards to encrypt or decrypt files within a general-purpose computer is relatively long.